package com.gujiangbo.constant;

import java.util.Random;

/**
 * 工具类
 */
public class IDUtils {


    private static final String[] telFirst = "134,135,136,137,138,139,150,151,152,157,158,159,130,131,132,155,156,133,153".split(",");
    private static final String[] firstName = {
            "赵", "钱", "孙", "李", "周", "吴", "郑", "王", "冯", "陈", "褚", "卫", "蒋", "沈", "韩", "杨", "朱", "秦", "尤", "许",
            "何", "吕", "施", "张", "孔", "曹", "严", "华", "金", "魏", "陶", "姜", "戚", "谢", "邹", "喻", "柏", "水", "窦", "章",
            "云", "苏", "潘", "葛", "奚", "范", "彭", "郎", "鲁", "韦", "昌", "马", "苗", "凤", "花", "方", "俞", "仁", "袁", "柳",
            "酆", "鲍", "史", "唐", "费", "廉", "岑", "薛", "雷", "贺", "倪", "汤", "滕", "殷", "罗", "毕", "郝", "邬", "安", "常",
            "乐", "于", "时", "傅", "皮", "卞", "齐", "康", "伍", "余", "元", "卜", "顾", "孟", "平", "黄", "和", "穆", "萧", "尹",
            "姚", "邵", "湛", "汪", "祁", "毛", "禹", "狄", "米", "贝", "明", "臧", "计", "伏", "成", "戴", "谈", "宋", "茅", "庞",
            "熊", "纪", "舒", "屈", "项", "祝", "董", "梁", "杜", "阮", "蓝", "闵", "席", "季", "麻", "强", "贾", "路", "娄", "危",
            "顾", "江", "童", "颜", "郭"};
    private static final String[] lastName = {
            "于归", "凝白", "叙白", "兜兜", "落花", "无涯", "鬼仆", "傲薇", "代槐", "萧兮", "问松", "倾城", "初懵", "语岚", "紀甍", "阿卟",
            "藍汐", "南彤", "淩蝶", "残狼", "末岛", "冷顏", "如卉", "妙萱", "影孑", "如蕾", "羽翼", "丹岚", "山绿", "凌芙", "邪眸", "夢呓",
            "又天", "幻滅", "塵環", "九凝", "冷瞳", "盼菱", "半凡", "靖寒", "问丹", "之凡", "残月", "傲藐", "傲筠", "易菡", "寒槐", "断念",
            "惜文", "栀葵", "鬼毅", "藐视", "开玄", "心已", "芷晴", "盼柔", "月殇", "音盲", "魅生", "尛瓔", "未語", "辕星", "落葉", "千羽",
            "寒柳", "雪曼", "淡然", "心晴", "般涅", "青魇", "依芹", "采卉", "哼哼", "乱舞", "夏殇", "瑾年", "雪梅", "倒带", "友珍", "夏寒",
            "回忆", "黑魂", "梦芙", "尘烟", "雪秋", "骗心", "代菡", "慕白", "宛春", "舞起", "慕烟", "樱碎", "影國", "倾铃", "素锦", "挽歌",
            "夏翠", "访灵", "粉黛", "柚寳", "冷忆", "丹蕊", "断忆", "半梦", "乐梦", "乐驹", "绿晴", "友绿", "沛凝", "雅芹", "魍魉", "風漣",
            "冷菱", "浸婚", "寻蓝", "音盲", "甜毒", "花落", "孤心", "殘舞", "山易", "亡心", "暮年", "翠柔", "碧琴", "南溪", "刷屏", "寄晴",
            "千阳", "雨巷", "无欢", "碧天", "枉心", "长伴", "牧风", "诛砂", "凉栀", "依蕾", "岑寂", "墨瞳", "翠芙", "莦雨", "病毒", "青鸞",
            "迎丝", "璀璨", "星夢", "采翠", "丑姑", "雨亦", "夏文", "芷莲", "花冢", "冰柳", "碧香", "痴念", "亦波", "情结", "涵萍", "凝蕾",
            "梦魇", "淩幽", "天安"};
    private static final String[] addr = {
            "南京市", "无锡市", "常州市", "扬州市", "徐州市", "苏州市", "连云港市", "盐城市",
            "淮安市", "宿迁市", "镇江市", "南通市", "泰州市", "兴化市", "东台市", "常熟市",
            "江阴市", "张家港市", "通州市", "宜兴市", "邳州市", "海门市", "溧阳市", "泰兴市",
            "如皋市", "昆山市", "启东市", "江都市", "丹阳市", "吴江市", "靖江市", "扬中市",
            "新沂市", "仪征市", "太仓市", "姜堰市", "高邮市", "金坛市", "句容市", "灌南县", "海安市"
    };

    private static final Random random = new Random();

    /**
     * 随机生成姓名
     */
    public static String getRandomName() {
        String axing = firstName[random.nextInt(141)];
        String ming = lastName[random.nextInt(160)];
        return axing + ming;
    }

    /**
     * 随机生成地址
     */

    public static String getRandomAddress() {
        return addr[random.nextInt(41)];
    }

    /**
     * 获取随机ID
     */
    public static String getId() {
        return "0051" + getNum(100, 999) + getNum(10, 99) + getNum(1000000, 9000000);
    }

    /**
     * 获取手机号
     */
    public static String getTel() {
        int index = getNum(0, telFirst.length - 1);
        String first = telFirst[index];
        String second = String.valueOf(getNum(1, 888) + 10000).substring(1);
        String third = String.valueOf(getNum(1, 9100) + 10000).substring(1);
        return first + second + third;
    }

    /**
     * 获取范围内的随机数
     */
    public static int getNum(int start, int end) {
        return (int) (Math.random() * (end - start + 1) + start);
    }

    public static void main(String[] args) {
        System.out.println(getId());
    }
}
